Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
* Tell the front-end that we are ready to go -
* unless something bad happens
*/
- err = xenbus_transaction_start(be->dev->nodename);
+again:
+ err = xenbus_transaction_start();
if (err) {
xenbus_dev_error(be->dev, err, "starting transaction");
return;
goto abort;
}
- xenbus_transaction_end(0);
+ err = xenbus_transaction_end(0);
+ if (err == EAGAIN)
+ goto again;
+ if (err) {
+ xenbus_dev_error(be->dev, err, "end of transaction");
+ goto abort;
+ }
+
xenbus_dev_ok(be->dev);
return;
abort:
goto out;
}
- err = xenbus_transaction_start(dev->nodename);
+again:
+ err = xenbus_transaction_start();
if (err) {
xenbus_dev_error(dev, err, "starting transaction");
goto destroy_tpmring;
}
err = xenbus_transaction_end(0);
+ if (err == EAGAIN)
+ goto again;
if (err) {
xenbus_dev_error(dev, err, "completing transaction");
goto destroy_tpmring;